Just Like Lego

Building blocks for ecosystem models

Jess Melbourne-Thomas, DaSH, March 2014

Building a model from scratch?

  • “Work with” someone who knows their stuff
  • If a similar model already exists, start with that
  • Procrastinate and go diving
  • Last resort: actually build the thing…

alt text

Example 1 - CORSET

JMT in the deep end

  • The language
  • The building blocks
  • Making it available

alt text

alt text

Example 1 - CORSET

The language

Python with basic editor.

Example 1 - CORSET

The building blocks

  • Local-scale model (difference equations)
  • Gridded basemap
  • Connectivity matrices
  • Scenarios

alt text

alt text

alt text

alt text

Example 1 - CORSET

Making it available

Web portal with documentation.

alt text

alt text

Example 1 - CORSET

Applications and lessons learnt

  • Philippines, Mexico, Hawaii, US-EPA, GBR
  • Visualisation
  • Maintenance
  • What we should have done but didn't…

alt text

Example 2 - QPress

Network modelling

library(QPress)
lake.a <- model.dia("./files/Lake-a.dia")
simlake.a <- system.simulate(1000,lake.a)
impact.barplot(simlake.a)
  • A good place to start if you really are building from scratch

Example 2 - QPress

Network modelling

library(QPress)
lake.a <- model.dia("./files/Lake-a.dia")
lake.b <- model.dia("./files/Lake-b.dia")
simlake.a <- system.simulate(1000,lake.a)
simlake.b <- system.simulate(1000,lake.b)
impact.barplot(simlake.a)
impact.barplot(simlake.b)

Example 2 - QPress

alt text

Example 2 - QPress

alt text

plot of chunk unnamed-chunk-4

Example 3 - Kerguelen Axis

Cartoon model

alt text

The End (and thank you Beth)

alt text

Bibliography

alt text

Some points for discussion

  • Advantages of scripting languages (Python, Netlogo) for ecologists with no programming background

Other examples?

  • Tools for visualisation?
  • Documentation for big models?
  • How long do they take to run?